// 定义接口
const inter_url = "/order/getPageOrderInfo";

// 预加载
$(document).ready(function () {
    console.log('执行');
    //初始化执行，查询全部数据
    getTableList(inter_url);
    // 初始化渲染条件选择框
    // getOptionList();
    // layUI
    layui.use('form', function() {
        var form = layui.form // 表单
        // 模糊搜索
        form.on('submit(formDemo)', function (data) {
            if (data.field.keyword == '') {
                layer.msg('请先输入搜索词');
                return false;
            } else {
                // 设置参数 及 请求接口
                const inter_url = "/order/getKeyWorkOrderInfo?keyWork=" + data.field.keyword;
                layer.msg("搜索中...");
                getTableList(inter_url);
                return false;
            }
        });

        // 加载表单_搜索选择框
        // form.render('select');
        getOptionList(form,"dd001");
        // select下拉框选中触发事件
        // 联动选择框
        // 根据订单状态批量查询
        form.on("select(dd)", function(data){
            var inter_url = "/order/getPageOrderInfo";
            layer.msg("搜索中...");
            if (data.value == 0) {
                getTableList(inter_url);
            } else {
                // 设置参数 及 请求接口
                inter_url = "/order/findByCondition?col=" + "dd001" + "&code=" + data.value;
                getTableList(inter_url);
            }
            //alert(data.value); // 获取选中的值
        });
    })
});
// 动态渲染脚本类型下拉框
// 1.发送ajax请求得到data
// 2.将data渲染到页面上
function getOptionList(form,belong) {
    // 请求
    $.ajax({
        type:'get',
        url: "/dict/getByBelong?belong=" + belong,
        success:function(response){
            var data=response.data;
            console.log(data);
            var t = '<option value="0" selected="selected">全部</option>';
            if(data.length == 0){
                return;
            } else {
                for (i=0;i<data.length;i++) {
                    t += "<option value='"+data[i].code+"'>"+data[i].showvalue+"</option>";
                    console.log(t);
                }
            };
            // 选择执行
            switch (belong) {
                case 'dd001':
                    $("#dd").html("");
                    $("#dd").append(t);
                    break;
            }
            form.render('select');
        }
    })
}
// 获取表格数据
function getTableList(inter_url) {
    // 执行先清空输入框内容
    $("#keyword").val("")
    // LayUI JavaScript代码区域
    layui.use(['laypage', 'layer', 'table', 'laydate', 'form'], function () {
        var table = layui.table
            , laypage = layui.laypage //分页
            , layer = layui.layer //弹层;
            , laydate = layui.laydate
            , form = layui.form

        laydate.render({
            elem: '#date1'
        });

        // 每页面显示条数
        var limitcount = 10;
        // 当前页
        var curnum = 1;

        // 创建表格
        table.render({
            elem: '#infoMag',
            height: 680,
            url: inter_url,//数据接口
            method: "GET",
            title: '驾校订单信息',
            page: true, //开启分页
            limit: 10,
            limits: [10, 20, 50, 100, 1000],
            //toolbar: true,//开启工具栏，此处显示默认图标，可以自定义模板，详见文档
            parseData: function (res) {
                console.log(res);
                var count = 0;
                if (res.data == null) {
                    count = 0;
                } else {
                    count = res.data.count;
                }
                return {
                    "code": res.status, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": count, //解析数据长度
                    "data": res.data.data //解析数据列表
                }
            },
            cols: [
                [ //表头
                    {type: 'checkbox', fixed: 'left'},
                    {
                        field: 'userName',
                        title: '姓名',
                        width: 150,
                        sort: true,
                        fixed: 'left',
                    }, {
                    field: 'setmName',
                    title: '所选套餐',
                    width: 180
                }, {
                    field: 'ordertotal',
                    title: '需付总金额',
                    width: 180,
                    sort: true,
                }, {
                    field: 'orderpaid',
                    title: '已付金额',
                    width: 180,
                    sort: true
                }, {
                    field: 'orderadvance',
                    title: '预付金额',
                    width: 180,
                    sort: true
                }, {
                    field: 'orderunpaid',
                    title: '待付金额',
                    width: 180,
                    sort: true
                }, {
                    field: 'bm001',
                    title: '报名状态',
                    width: 170,
                    sort: true
                }, {
                    field: 'dd001',
                    title: '订单状态',
                    width: 130,
                    sort: true
                }, {
                    field: 'validtime',
                    title: '订单有效时间',
                    width: 200,
                    sort: true
                }, {
                    field: 'createtime',
                    title: '购买时间',
                    width: 180,
                    sort: true,
                }, {
                    fixed: 'right',
                    title: '操作',
                    width: 100,
                    align: 'center',
                    toolbar: '#barArray'
                }, {
                    fixed: 'order_id',
                    hide: true,
                }
                ]
            ],
            done: function (res, curr, count) {
                // 开启分页
                laypage.render({
                    elem: '#infoMag', //分页容器的id
                    count: count, //总条数
                    curr: curr,
                    limit: limitcount, //当前页显示数据
                    skin: '#1E9FFF', //自定义选中色值
                    jump: function (obj, first) {
                        if (!first) {
                            curnum = obj.curr;
                            limitcount = obj.limit;
                            layer.msg('第' + obj.curr + '页', {
                                offset: 'b'
                            });
                        }
                    }
                })
            }
        });

        //监听行工具事件
        table.on('tool(test)', function(obj){
            var data = obj.data;
            if(obj.event === 'edit'){
                openUpdate(form,obj.data.order_id);
            }
        });
    });
};

function openUpdate (form,id) {
    $.ajax({
        type: "get",
        url: "/order/getByIdOrder",
        data: {
            "order_id": id
        },
        success: function(res) {
            console.log(res.data.dd001Code);
            layer.open({
                type: 0,
                title: "修改订单状态",
                anim: 1,
                closeBtn: 2,
                fixed: false,
                area: ['400px','450px'],
                shadeClose: false,
                content: '<div class="layui-form" style="margin-top: 20px;">\n' +
                    '            <div class="layui-form-item">\n' +
                    '                <label class="layui-form-label" style="font-size: 13px">订单状态：</label>\n' +
                    '                <div class="layui-input-inline">\n' +
                    '                    <select id="dd001">\n' +
                    '                        <option selected="" value="' + res.data.dd001Code + '">' + res.data.dd001 + '</option>\n' +
                    '                        <option value="017">待生效</option>\n' +
                    '                        <option value="018">待付款</option>\n' +
                    '                        <option value="019">已生效</option>\n' +
                    '                        <option value="020">已失效</option>\n' +
                    '                    </select>\n' +
                    '                </div>\n' +
                    '            </div>\n' +
                    '        </div>',
                success: function (layero, index) {
                    form.render('select');
                    console.log("窗口弹出");
                },
                // 确定按钮执行函数
                yes: function(index, layero){
                    //do something
                    console.log($('#dd001').val());
                    $.ajax({
                        type: 'post',
                        url: '/order/updateByIdOrder',
                        dataType: "json",
                        traditional: true,
                        contentType : 'application/json;charset=utf-8',
                        data:
                            JSON.stringify({
                                order_id: id,
                                dd001: $('#dd001').val(),
                            }),
                        success: function(res) {
                            layer.alert('更新成功');
                            getTableList("/order/getPageOrderInfo");
                        }
                    })
                    layer.close(index); //如果设定了yes回调，需进行手工关闭
                },
                cancel: function(index, layero) {
                    getTableList("/order/getPageOrderInfo");
                    layer.close(index)
                }
            })
        }
    })
};